{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "# 损失函数\n",
    "def J(beta):\n",
    "    return np.sum((X @ beta - y)**2, axis=0).reshape(-1, 1) / n\n",
    "\n",
    "# 计算梯度\n",
    "def gradient(beta):\n",
    "    return X.T @ (X @ beta - y) / n * 2\n",
    "\n",
    "# 1. 定义数据\n",
    "# 自变量\n",
    "X = np.array([[5], [8], [10], [12], [15], [3], [7], [9], [14], [6]])\n",
    "# 因变量\n",
    "y = np.array( [55, 65, 70, 75, 85, 50, 60, 72, 80, 58] ).reshape(-1, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.,  5.],\n",
       "       [ 1.,  8.],\n",
       "       [ 1., 10.],\n",
       "       [ 1., 12.],\n",
       "       [ 1., 15.],\n",
       "       [ 1.,  3.],\n",
       "       [ 1.,  7.],\n",
       "       [ 1.,  9.],\n",
       "       [ 1., 14.],\n",
       "       [ 1.,  6.]])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n = y.shape[0]\n",
    "# 2. 数据处理，X 增加一列 1\n",
    "X = np.hstack([np.ones((n, 1)), X])\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "#定义学习率以及迭代次数\n",
    "# 3. 初始化参数及超参数\n",
    "alpha = 0.01\n",
    "iterations = 10000\n",
    "\n",
    "beta = np.array([[1], [1]])\n",
    "\n",
    "beta0 = []\n",
    "beta1 = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "beta = [2.55304472 5.08844061]\tJ = [437.41239913]\n",
      "beta = [3.77613762 6.08686801]\tJ = [226.50199857]\n",
      "beta = [4.88888271 6.27390035]\tJ = [200.89042505]\n",
      "beta = [5.94978139 6.249467  ]\tJ = [188.75080372]\n",
      "beta = [6.97489487 6.17147532]\tJ = [178.13408711]\n",
      "beta = [7.96909023 6.08144347]\tJ = [168.17833589]\n",
      "beta = [8.93426862 5.99024434]\tJ = [158.79223364]\n",
      "beta = [9.87153236 5.90068321]\tJ = [149.93968766]\n",
      "beta = [10.78175607  5.81344267]\tJ = [141.59012508]\n",
      "beta = [11.66573755  5.72864799]\tJ = [133.7149506]\n",
      "beta = [12.52423807  5.64627929]\tJ = [126.28721026]\n",
      "beta = [13.35799333  5.56627996]\tJ = [119.28148265]\n",
      "beta = [14.16771691  5.48858523]\tJ = [112.6737908]\n",
      "beta = [14.95410159  5.41312957]\tJ = [106.44152001]\n",
      "beta = [15.71782007  5.33984871]\tJ = [100.56334043]\n",
      "beta = [16.45952569  5.26868002]\tJ = [95.0191341]\n",
      "beta = [17.17985292  5.19956264]\tJ = [89.78992609]\n",
      "beta = [17.87941797  5.13243745]\tJ = [84.85781952]\n",
      "beta = [18.55881926  5.06724702]\tJ = [80.20593434]\n",
      "beta = [19.21863799  5.00393559]\tJ = [75.81834956]\n",
      "beta = [19.85943858  4.94244901]\tJ = [71.68004876]\n",
      "beta = [20.4817692   4.88273467]\tJ = [67.77686868]\n",
      "beta = [21.08616222  4.8247415 ]\tJ = [64.09545075]\n",
      "beta = [21.67313465  4.76841987]\tJ = [60.62319538]\n",
      "beta = [22.24318861  4.71372162]\tJ = [57.34821886]\n",
      "beta = [22.79681176  4.66059996]\tJ = [54.25931262]\n",
      "beta = [23.33447768  4.60900943]\tJ = [51.34590494]\n",
      "beta = [23.8566463   4.55890591]\tJ = [48.59802474]\n",
      "beta = [24.36376432  4.51024654]\tJ = [46.00626746]\n",
      "beta = [24.85626553  4.46298969]\tJ = [43.56176283]\n",
      "beta = [25.33457125  4.41709494]\tJ = [41.25614461]\n",
      "beta = [25.79909064  4.37252302]\tJ = [39.08152184]\n",
      "beta = [26.25022105  4.32923582]\tJ = [37.03045192]\n",
      "beta = [26.68834841  4.28719629]\tJ = [35.0959151]\n",
      "beta = [27.11384751  4.24636848]\tJ = [33.27129047]\n",
      "beta = [27.52708233  4.20671746]\tJ = [31.55033327]\n",
      "beta = [27.92840637  4.16820931]\tJ = [29.92715357]\n",
      "beta = [28.31816294  4.13081109]\tJ = [28.39619607]\n",
      "beta = [28.69668545  4.09449082]\tJ = [26.95222108]\n",
      "beta = [29.0642977   4.05921741]\tJ = [25.59028663]\n",
      "beta = [29.42131417  4.02496069]\tJ = [24.30573153]\n",
      "beta = [29.76804025  3.99169137]\tJ = [23.0941594]\n",
      "beta = [30.10477255  3.95938098]\tJ = [21.95142367]\n",
      "beta = [30.43179913  3.92800188]\tJ = [20.87361334]\n",
      "beta = [30.74939973  3.89752722]\tJ = [19.85703963]\n",
      "beta = [31.05784604  3.86793095]\tJ = [18.89822333]\n",
      "beta = [31.35740192  3.83918774]\tJ = [17.9938829]\n",
      "beta = [31.64832362  3.811273  ]\tJ = [17.14092327]\n",
      "beta = [31.93086     3.78416285]\tJ = [16.33642519]\n",
      "beta = [32.20525276  3.75783411]\tJ = [15.57763528]\n",
      "beta = [32.47173663  3.73226425]\tJ = [14.8619566]\n",
      "beta = [32.73053955  3.7074314 ]\tJ = [14.18693974]\n",
      "beta = [32.98188293  3.68331431]\tJ = [13.55027449]\n",
      "beta = [33.22598177  3.65989235]\tJ = [12.94978186]\n",
      "beta = [33.46304489  3.63714549]\tJ = [12.38340667]\n",
      "beta = [33.69327507  3.61505427]\tJ = [11.84921052]\n",
      "beta = [33.91686926  3.59359979]\tJ = [11.34536514]\n",
      "beta = [34.13401873  3.5727637 ]\tJ = [10.87014611]\n",
      "beta = [34.34490925  3.55252817]\tJ = [10.42192702]\n",
      "beta = [34.54972122  3.5328759 ]\tJ = [9.99917383]\n",
      "beta = [34.74862983  3.51379007]\tJ = [9.60043969]\n",
      "beta = [34.94180524  3.49525436]\tJ = [9.22435993]\n",
      "beta = [35.12941271  3.4772529 ]\tJ = [8.86964743]\n",
      "beta = [35.31161272  3.45977031]\tJ = [8.5350882]\n",
      "beta = [35.48856112  3.44279162]\tJ = [8.2195372]\n",
      "beta = [35.6604093   3.42630232]\tJ = [7.92191447]\n",
      "beta = [35.82730425  3.41028829]\tJ = [7.6412014]\n",
      "beta = [35.98938874  3.39473583]\tJ = [7.37643726]\n",
      "beta = [36.14680142  3.37963165]\tJ = [7.1267159]\n",
      "beta = [36.29967695  3.36496282]\tJ = [6.89118265]\n",
      "beta = [36.44814612  3.3507168 ]\tJ = [6.6690314]\n",
      "beta = [36.59233591  3.33688139]\tJ = [6.45950184]\n",
      "beta = [36.73236969  3.32344476]\tJ = [6.26187686]\n",
      "beta = [36.86836723  3.31039542]\tJ = [6.07548009]\n",
      "beta = [37.00044488  3.29772221]\tJ = [5.89967361]\n",
      "beta = [37.12871561  3.28541428]\tJ = [5.7338557]\n",
      "beta = [37.25328917  3.2734611 ]\tJ = [5.57745886]\n",
      "beta = [37.37427211  3.26185246]\tJ = [5.42994782]\n",
      "beta = [37.49176792  3.25057841]\tJ = [5.29081774]\n",
      "beta = [37.60587712  3.23962932]\tJ = [5.15959244]\n",
      "beta = [37.71669732  3.22899581]\tJ = [5.03582281]\n",
      "beta = [37.82432332  3.2186688 ]\tJ = [4.91908524]\n",
      "beta = [37.92884719  3.20863945]\tJ = [4.80898021]\n",
      "beta = [38.03035833  3.19889918]\tJ = [4.70513087]\n",
      "beta = [38.1289436   3.18943965]\tJ = [4.60718182]\n",
      "beta = [38.22468731  3.18025277]\tJ = [4.51479782]\n",
      "beta = [38.31767138  3.1713307 ]\tJ = [4.42766268]\n",
      "beta = [38.40797534  3.16266578]\tJ = [4.3454782]\n",
      "beta = [38.49567644  3.15425062]\tJ = [4.26796308]\n",
      "beta = [38.58084971  3.14607801]\tJ = [4.19485205]\n",
      "beta = [38.66356801  3.13814096]\tJ = [4.12589488]\n",
      "beta = [38.7439021   3.13043268]\tJ = [4.06085556]\n",
      "beta = [38.8219207   3.12294658]\tJ = [3.9995115]\n",
      "beta = [38.89769054  3.11567626]\tJ = [3.94165275]\n",
      "beta = [38.97127645  3.10861549]\tJ = [3.88708129]\n",
      "beta = [39.04274138  3.10175823]\tJ = [3.83561034]\n",
      "beta = [39.11214645  3.09509862]\tJ = [3.78706376]\n",
      "beta = [39.17955104  3.08863097]\tJ = [3.74127539]\n",
      "beta = [39.24501281  3.08234973]\tJ = [3.69808852]\n",
      "beta = [39.30858775  3.07624954]\tJ = [3.65735535]\n",
      "beta = [39.37033026  3.07032518]\tJ = [3.61893646]\n",
      "beta = [39.43029315  3.06457157]\tJ = [3.58270037]\n",
      "beta = [39.48852771  3.0589838 ]\tJ = [3.54852306]\n",
      "beta = [39.54508376  3.0535571 ]\tJ = [3.51628756]\n",
      "beta = [39.60000968  3.0482868 ]\tJ = [3.48588355]\n",
      "beta = [39.65335246  3.04316842]\tJ = [3.45720696]\n",
      "beta = [39.70515772  3.03819756]\tJ = [3.43015966]\n",
      "beta = [39.75546978  3.03336998]\tJ = [3.40464907]\n",
      "beta = [39.80433169  3.02868154]\tJ = [3.38058788]\n",
      "beta = [39.85178524  3.02412824]\tJ = [3.35789375]\n",
      "beta = [39.89787102  3.01970619]\tJ = [3.336489]\n",
      "beta = [39.94262845  3.01541159]\tJ = [3.31630037]\n",
      "beta = [39.98609584  3.01124077]\tJ = [3.29725879]\n",
      "beta = [40.02831034  3.00719017]\tJ = [3.27929906]\n",
      "beta = [40.06930809  3.00325633]\tJ = [3.26235973]\n",
      "beta = [40.10912415  2.99943587]\tJ = [3.24638282]\n",
      "beta = [40.14779258  2.99572552]\tJ = [3.23131365]\n",
      "beta = [40.18534646  2.99212212]\tJ = [3.21710064]\n",
      "beta = [40.22181792  2.98862259]\tJ = [3.20369516]\n",
      "beta = [40.25723814  2.98522392]\tJ = [3.19105132]\n",
      "beta = [40.29163745  2.98192321]\tJ = [3.17912585]\n",
      "beta = [40.32504525  2.97871764]\tJ = [3.16787794]\n",
      "beta = [40.35749012  2.97560447]\tJ = [3.15726908]\n",
      "beta = [40.38899983  2.97258102]\tJ = [3.14726298]\n",
      "beta = [40.41960133  2.96964472]\tJ = [3.13782538]\n",
      "beta = [40.44932079  2.96679306]\tJ = [3.12892398]\n",
      "beta = [40.47818364  2.96402359]\tJ = [3.12052832]\n",
      "beta = [40.50621457  2.96133394]\tJ = [3.11260967]\n",
      "beta = [40.53343756  2.95872182]\tJ = [3.10514092]\n",
      "beta = [40.55987589  2.95618499]\tJ = [3.09809652]\n",
      "beta = [40.58555218  2.95372128]\tJ = [3.09145235]\n",
      "beta = [40.61048839  2.95132858]\tJ = [3.08518567]\n",
      "beta = [40.63470587  2.94900485]\tJ = [3.07927504]\n",
      "beta = [40.65822531  2.9467481 ]\tJ = [3.07370023]\n",
      "beta = [40.68106685  2.94455639]\tJ = [3.06844215]\n",
      "beta = [40.70325002  2.94242785]\tJ = [3.06348281]\n",
      "beta = [40.7247938   2.94036067]\tJ = [3.05880525]\n",
      "beta = [40.74571662  2.93835306]\tJ = [3.05439344]\n",
      "beta = [40.76603637  2.93640333]\tJ = [3.05023229]\n",
      "beta = [40.78577044  2.93450979]\tJ = [3.04630756]\n",
      "beta = [40.80493571  2.93267083]\tJ = [3.04260582]\n",
      "beta = [40.82354858  2.93088487]\tJ = [3.0391144]\n",
      "beta = [40.84162496  2.92915039]\tJ = [3.03582134]\n",
      "beta = [40.85918032  2.92746591]\tJ = [3.03271538]\n",
      "beta = [40.87622968  2.92582998]\tJ = [3.02978589]\n",
      "beta = [40.89278762  2.9242412 ]\tJ = [3.02702284]\n",
      "beta = [40.9088683   2.92269821]\tJ = [3.02441677]\n",
      "beta = [40.92448549  2.9211997 ]\tJ = [3.02195877]\n",
      "beta = [40.93965254  2.91974438]\tJ = [3.01964042]\n",
      "beta = [40.95438242  2.918331  ]\tJ = [3.0174538]\n",
      "beta = [40.96868775  2.91695837]\tJ = [3.0153914]\n",
      "beta = [40.98258074  2.9156253 ]\tJ = [3.01344619]\n",
      "beta = [40.9960733   2.91433065]\tJ = [3.01161149]\n",
      "beta = [41.00917695  2.91307332]\tJ = [3.00988103]\n",
      "beta = [41.02190291  2.91185223]\tJ = [3.00824889]\n",
      "beta = [41.03426207  2.91066633]\tJ = [3.00670948]\n",
      "beta = [41.046265    2.90951462]\tJ = [3.00525753]\n",
      "beta = [41.05792197  2.9083961 ]\tJ = [3.00388808]\n",
      "beta = [41.06924294  2.90730982]\tJ = [3.00259643]\n",
      "beta = [41.08023761  2.90625485]\tJ = [3.00137817]\n",
      "beta = [41.09091537  2.90523029]\tJ = [3.00022913]\n",
      "beta = [41.10128537  2.90423526]\tJ = [2.99914537]\n",
      "beta = [41.11135646  2.90326891]\tJ = [2.99812318]\n",
      "beta = [41.12113728  2.90233042]\tJ = [2.99715907]\n",
      "beta = [41.13063618  2.90141897]\tJ = [2.99624974]\n",
      "beta = [41.13986129  2.9005338 ]\tJ = [2.99539207]\n",
      "beta = [41.14882051  2.89967413]\tJ = [2.99458313]\n",
      "beta = [41.15752149  2.89883925]\tJ = [2.99382015]\n",
      "beta = [41.16597168  2.89802843]\tJ = [2.99310052]\n",
      "beta = [41.1741783   2.89724098]\tJ = [2.99242178]\n",
      "beta = [41.18214839  2.89647623]\tJ = [2.9917816]\n",
      "beta = [41.18988875  2.89573352]\tJ = [2.99117779]\n",
      "beta = [41.19740601  2.89501222]\tJ = [2.99060829]\n",
      "beta = [41.20470659  2.89431171]\tJ = [2.99007114]\n",
      "beta = [41.21179675  2.89363139]\tJ = [2.98956451]\n",
      "beta = [41.21868255  2.89297068]\tJ = [2.98908667]\n",
      "beta = [41.22536988  2.89232901]\tJ = [2.98863598]\n",
      "beta = [41.23186446  2.89170584]\tJ = [2.98821089]\n",
      "beta = [41.23817184  2.89110063]\tJ = [2.98780996]\n",
      "beta = [41.24429742  2.89051286]\tJ = [2.9874318]\n",
      "beta = [41.25024644  2.88994204]\tJ = [2.98707513]\n",
      "beta = [41.256024    2.88938766]\tJ = [2.98673872]\n",
      "beta = [41.26163502  2.88884927]\tJ = [2.98642143]\n",
      "beta = [41.26708432  2.8883264 ]\tJ = [2.98612216]\n",
      "beta = [41.27237655  2.88781859]\tJ = [2.9858399]\n",
      "beta = [41.27751624  2.88732542]\tJ = [2.98557368]\n",
      "beta = [41.28250779  2.88684647]\tJ = [2.98532258]\n",
      "beta = [41.28735546  2.88638132]\tJ = [2.98508574]\n",
      "beta = [41.29206341  2.88592958]\tJ = [2.98486236]\n",
      "beta = [41.29663566  2.88549086]\tJ = [2.98465168]\n",
      "beta = [41.30107612  2.88506479]\tJ = [2.98445296]\n",
      "beta = [41.3053886   2.88465099]\tJ = [2.98426554]\n",
      "beta = [41.30957677  2.88424913]\tJ = [2.98408876]\n",
      "beta = [41.31364423  2.88385884]\tJ = [2.98392203]\n",
      "beta = [41.31759445  2.88347981]\tJ = [2.98376477]\n",
      "beta = [41.32143082  2.8831117 ]\tJ = [2.98361644]\n",
      "beta = [41.3251566  2.8827542]\tJ = [2.98347654]\n",
      "beta = [41.328775  2.882407]\tJ = [2.98334459]\n",
      "beta = [41.3322891   2.88206982]\tJ = [2.98322014]\n",
      "beta = [41.33570192  2.88174235]\tJ = [2.98310276]\n",
      "beta = [41.33901636  2.88142432]\tJ = [2.98299204]\n",
      "beta = [41.34223528  2.88111545]\tJ = [2.98288762]\n",
      "beta = [41.34536141  2.88081549]\tJ = [2.98278913]\n",
      "beta = [41.34839744  2.88052418]\tJ = [2.98269624]\n",
      "beta = [41.35134596  2.88024126]\tJ = [2.98260862]\n",
      "beta = [41.35420949  2.87996649]\tJ = [2.98252598]\n",
      "beta = [41.35699049  2.87969965]\tJ = [2.98244804]\n",
      "beta = [41.35969133  2.8794405 ]\tJ = [2.98237453]\n",
      "beta = [41.36231432  2.87918881]\tJ = [2.98230519]\n",
      "beta = [41.36486171  2.87894439]\tJ = [2.98223979]\n",
      "beta = [41.36733568  2.878707  ]\tJ = [2.98217811]\n",
      "beta = [41.36973833  2.87847646]\tJ = [2.98211993]\n",
      "beta = [41.37207174  2.87825256]\tJ = [2.98206506]\n",
      "beta = [41.37433789  2.87803512]\tJ = [2.9820133]\n",
      "beta = [41.37653872  2.87782394]\tJ = [2.98196449]\n",
      "beta = [41.37867612  2.87761885]\tJ = [2.98191844]\n",
      "beta = [41.38075191  2.87741968]\tJ = [2.98187502]\n",
      "beta = [41.38276786  2.87722624]\tJ = [2.98183406]\n",
      "beta = [41.38472572  2.87703838]\tJ = [2.98179543]\n",
      "beta = [41.38662714  2.87685593]\tJ = [2.98175899]\n",
      "beta = [41.38847375  2.87667874]\tJ = [2.98172463]\n",
      "beta = [41.39026714  2.87650666]\tJ = [2.98169221]\n",
      "beta = [41.39200884  2.87633954]\tJ = [2.98166164]\n",
      "beta = [41.39370033  2.87617724]\tJ = [2.98163281]\n",
      "beta = [41.39534308  2.87601961]\tJ = [2.98160561]\n",
      "beta = [41.39693847  2.87586653]\tJ = [2.98157996]\n",
      "beta = [41.39848788  2.87571786]\tJ = [2.98155577]\n",
      "beta = [41.39999263  2.87557348]\tJ = [2.98153295]\n",
      "beta = [41.401454    2.87543325]\tJ = [2.98151142]\n",
      "beta = [41.40287326  2.87529707]\tJ = [2.98149112]\n",
      "beta = [41.40425161  2.87516482]\tJ = [2.98147198]\n",
      "beta = [41.40559023  2.87503637]\tJ = [2.98145392]\n",
      "beta = [41.40689027  2.87491163]\tJ = [2.98143689]\n",
      "beta = [41.40815283  2.87479048]\tJ = [2.98142082]\n",
      "beta = [41.409379    2.87467283]\tJ = [2.98140567]\n",
      "beta = [41.41056984  2.87455856]\tJ = [2.98139138]\n",
      "beta = [41.41172634  2.87444759]\tJ = [2.9813779]\n",
      "beta = [41.41284952  2.87433982]\tJ = [2.98136518]\n",
      "beta = [41.41394032  2.87423516]\tJ = [2.98135319]\n",
      "beta = [41.41499968  2.87413351]\tJ = [2.98134188]\n",
      "beta = [41.4160285   2.87403479]\tJ = [2.98133121]\n",
      "beta = [41.41702767  2.87393892]\tJ = [2.98132115]\n",
      "beta = [41.41799805  2.87384581]\tJ = [2.98131166]\n",
      "beta = [41.41894045  2.87375538]\tJ = [2.98130271]\n",
      "beta = [41.41985569  2.87366756]\tJ = [2.98129427]\n",
      "beta = [41.42074455  2.87358227]\tJ = [2.98128631]\n",
      "beta = [41.42160779  2.87349944]\tJ = [2.9812788]\n",
      "beta = [41.42244614  2.873419  ]\tJ = [2.98127172]\n",
      "beta = [41.42326034  2.87334088]\tJ = [2.98126503]\n",
      "beta = [41.42405106  2.873265  ]\tJ = [2.98125873]\n",
      "beta = [41.424819    2.87319132]\tJ = [2.98125279]\n",
      "beta = [41.4255648   2.87311976]\tJ = [2.98124718]\n",
      "beta = [41.4262891   2.87305026]\tJ = [2.9812419]\n",
      "beta = [41.42699253  2.87298276]\tJ = [2.98123691]\n",
      "beta = [41.42767568  2.87291721]\tJ = [2.98123221]\n",
      "beta = [41.42833914  2.87285355]\tJ = [2.98122777]\n",
      "beta = [41.42898348  2.87279172]\tJ = [2.98122359]\n",
      "beta = [41.42960925  2.87273168]\tJ = [2.98121964]\n",
      "beta = [41.43021698  2.87267337]\tJ = [2.98121592]\n",
      "beta = [41.43080719  2.87261673]\tJ = [2.98121241]\n",
      "beta = [41.43138039  2.87256173]\tJ = [2.9812091]\n",
      "beta = [41.43193707  2.87250832]\tJ = [2.98120597]\n",
      "beta = [41.43247771  2.87245644]\tJ = [2.98120303]\n",
      "beta = [41.43300276  2.87240606]\tJ = [2.98120025]\n",
      "beta = [41.43351267  2.87235714]\tJ = [2.98119763]\n",
      "beta = [41.4340079   2.87230962]\tJ = [2.98119516]\n",
      "beta = [41.43448884  2.87226347]\tJ = [2.98119283]\n",
      "beta = [41.43495593  2.87221865]\tJ = [2.98119063]\n",
      "beta = [41.43540955  2.87217513]\tJ = [2.98118855]\n",
      "beta = [41.43585009  2.87213285]\tJ = [2.9811866]\n",
      "beta = [41.43627794  2.8720918 ]\tJ = [2.98118475]\n",
      "beta = [41.43669346  2.87205193]\tJ = [2.98118301]\n",
      "beta = [41.437097    2.87201321]\tJ = [2.98118137]\n",
      "beta = [41.4374889   2.87197561]\tJ = [2.98117982]\n",
      "beta = [41.43786952  2.87193908]\tJ = [2.98117836]\n",
      "beta = [41.43823916  2.87190362]\tJ = [2.98117699]\n",
      "beta = [41.43859815  2.87186917]\tJ = [2.98117569]\n",
      "beta = [41.43894679  2.87183572]\tJ = [2.98117446]\n",
      "beta = [41.43928538  2.87180323]\tJ = [2.98117331]\n",
      "beta = [41.43961421  2.87177168]\tJ = [2.98117222]\n",
      "beta = [41.43993356  2.87174103]\tJ = [2.98117119]\n",
      "beta = [41.44024371  2.87171127]\tJ = [2.98117022]\n",
      "beta = [41.44054492  2.87168237]\tJ = [2.98116931]\n",
      "beta = [41.44083745  2.8716543 ]\tJ = [2.98116844]\n",
      "beta = [41.44112155  2.87162704]\tJ = [2.98116763]\n",
      "beta = [41.44139745  2.87160057]\tJ = [2.98116686]\n",
      "beta = [41.44166541  2.87157486]\tJ = [2.98116614]\n",
      "beta = [41.44192564  2.87154989]\tJ = [2.98116546]\n",
      "beta = [41.44217837  2.87152564]\tJ = [2.98116481]\n",
      "beta = [41.44242382  2.87150209]\tJ = [2.98116421]\n",
      "beta = [41.44266219  2.87147921]\tJ = [2.98116363]\n",
      "beta = [41.44289369  2.871457  ]\tJ = [2.98116309]\n",
      "beta = [41.44311852  2.87143543]\tJ = [2.98116258]\n",
      "beta = [41.44333687  2.87141448]\tJ = [2.9811621]\n",
      "beta = [41.44354892  2.87139413]\tJ = [2.98116165]\n",
      "beta = [41.44375487  2.87137437]\tJ = [2.98116122]\n",
      "beta = [41.44395487  2.87135518]\tJ = [2.98116082]\n",
      "beta = [41.44414911  2.87133654]\tJ = [2.98116044]\n",
      "beta = [41.44433776  2.87131844]\tJ = [2.98116008]\n",
      "beta = [41.44452096  2.87130086]\tJ = [2.98115974]\n",
      "beta = [41.44469889  2.87128379]\tJ = [2.98115942]\n",
      "beta = [41.44487169  2.87126721]\tJ = [2.98115912]\n",
      "beta = [41.4450395   2.87125111]\tJ = [2.98115884]\n",
      "beta = [41.44520248  2.87123547]\tJ = [2.98115857]\n",
      "beta = [41.44536076  2.87122028]\tJ = [2.98115832]\n",
      "beta = [41.44551448  2.87120553]\tJ = [2.98115808]\n",
      "beta = [41.44566377  2.8711912 ]\tJ = [2.98115786]\n",
      "beta = [41.44580876  2.87117729]\tJ = [2.98115764]\n",
      "beta = [41.44594956  2.87116378]\tJ = [2.98115744]\n",
      "beta = [41.44608631  2.87115066]\tJ = [2.98115726]\n",
      "beta = [41.44621912  2.87113792]\tJ = [2.98115708]\n",
      "beta = [41.4463481   2.87112554]\tJ = [2.98115691]\n",
      "beta = [41.44647336  2.87111352]\tJ = [2.98115675]\n",
      "beta = [41.44659501  2.87110185]\tJ = [2.9811566]\n",
      "beta = [41.44671315  2.87109051]\tJ = [2.98115646]\n",
      "beta = [41.44682789  2.8710795 ]\tJ = [2.98115633]\n",
      "beta = [41.44693933  2.87106881]\tJ = [2.9811562]\n",
      "beta = [41.44704755  2.87105843]\tJ = [2.98115609]\n",
      "beta = [41.44715265  2.87104834]\tJ = [2.98115598]\n",
      "beta = [41.44725472  2.87103855]\tJ = [2.98115587]\n",
      "beta = [41.44735385  2.87102904]\tJ = [2.98115577]\n",
      "beta = [41.44745012  2.8710198 ]\tJ = [2.98115568]\n",
      "beta = [41.44754362  2.87101083]\tJ = [2.98115559]\n",
      "beta = [41.44763442  2.87100212]\tJ = [2.98115551]\n",
      "beta = [41.44772261  2.87099365]\tJ = [2.98115543]\n",
      "beta = [41.44780825  2.87098544]\tJ = [2.98115535]\n",
      "beta = [41.44789142  2.87097746]\tJ = [2.98115528]\n",
      "beta = [41.4479722  2.8709697]\tJ = [2.98115522]\n",
      "beta = [41.44805065  2.87096218]\tJ = [2.98115516]\n",
      "beta = [41.44812684  2.87095487]\tJ = [2.9811551]\n",
      "beta = [41.44820083  2.87094777]\tJ = [2.98115504]\n",
      "beta = [41.44827269  2.87094087]\tJ = [2.98115499]\n",
      "beta = [41.44834248  2.87093418]\tJ = [2.98115494]\n",
      "beta = [41.44841026  2.87092767]\tJ = [2.9811549]\n",
      "beta = [41.44847608  2.87092136]\tJ = [2.98115485]\n",
      "beta = [41.44854     2.87091522]\tJ = [2.98115481]\n",
      "beta = [41.44860209  2.87090927]\tJ = [2.98115477]\n",
      "beta = [41.44866238  2.87090348]\tJ = [2.98115474]\n",
      "beta = [41.44872094  2.87089786]\tJ = [2.9811547]\n",
      "beta = [41.44877781  2.8708924 ]\tJ = [2.98115467]\n",
      "beta = [41.44883304  2.87088711]\tJ = [2.98115464]\n",
      "beta = [41.44888667  2.87088196]\tJ = [2.98115461]\n",
      "beta = [41.44893876  2.87087696]\tJ = [2.98115458]\n",
      "beta = [41.44898935  2.87087211]\tJ = [2.98115456]\n",
      "beta = [41.44903849  2.87086739]\tJ = [2.98115453]\n",
      "beta = [41.4490862   2.87086281]\tJ = [2.98115451]\n",
      "beta = [41.44913254  2.87085837]\tJ = [2.98115449]\n",
      "beta = [41.44917755  2.87085405]\tJ = [2.98115447]\n",
      "beta = [41.44922125  2.87084985]\tJ = [2.98115445]\n",
      "beta = [41.4492637   2.87084578]\tJ = [2.98115443]\n",
      "beta = [41.44930493  2.87084183]\tJ = [2.98115441]\n",
      "beta = [41.44934496  2.87083798]\tJ = [2.9811544]\n",
      "beta = [41.44938384  2.87083425]\tJ = [2.98115438]\n",
      "beta = [41.4494216   2.87083063]\tJ = [2.98115437]\n",
      "beta = [41.44945828  2.87082711]\tJ = [2.98115435]\n",
      "beta = [41.44949389  2.87082369]\tJ = [2.98115434]\n",
      "beta = [41.44952848  2.87082038]\tJ = [2.98115433]\n",
      "beta = [41.44956207  2.87081715]\tJ = [2.98115432]\n",
      "beta = [41.4495947   2.87081402]\tJ = [2.98115431]\n",
      "beta = [41.44962638  2.87081098]\tJ = [2.9811543]\n",
      "beta = [41.44965715  2.87080803]\tJ = [2.98115429]\n",
      "beta = [41.44968704  2.87080516]\tJ = [2.98115428]\n",
      "beta = [41.44971606  2.87080238]\tJ = [2.98115427]\n",
      "beta = [41.44974424  2.87079967]\tJ = [2.98115426]\n",
      "beta = [41.44977162  2.87079705]\tJ = [2.98115425]\n",
      "beta = [41.4497982   2.87079449]\tJ = [2.98115425]\n",
      "beta = [41.44982402  2.87079202]\tJ = [2.98115424]\n",
      "beta = [41.44984909  2.87078961]\tJ = [2.98115423]\n",
      "beta = [41.44987344  2.87078727]\tJ = [2.98115423]\n",
      "beta = [41.44989709  2.87078501]\tJ = [2.98115422]\n",
      "beta = [41.44992006  2.8707828 ]\tJ = [2.98115422]\n",
      "beta = [41.44994237  2.87078066]\tJ = [2.98115421]\n",
      "beta = [41.44996403  2.87077858]\tJ = [2.98115421]\n",
      "beta = [41.44998507  2.87077656]\tJ = [2.9811542]\n",
      "beta = [41.4500055  2.8707746]\tJ = [2.9811542]\n",
      "beta = [41.45002534  2.8707727 ]\tJ = [2.98115419]\n",
      "beta = [41.45004461  2.87077085]\tJ = [2.98115419]\n",
      "beta = [41.45006333  2.87076905]\tJ = [2.98115419]\n",
      "beta = [41.45008151  2.87076731]\tJ = [2.98115418]\n",
      "beta = [41.45009916  2.87076562]\tJ = [2.98115418]\n",
      "beta = [41.4501163   2.87076397]\tJ = [2.98115418]\n",
      "beta = [41.45013295  2.87076237]\tJ = [2.98115417]\n",
      "beta = [41.45014912  2.87076082]\tJ = [2.98115417]\n",
      "beta = [41.45016482  2.87075932]\tJ = [2.98115417]\n",
      "beta = [41.45018007  2.87075785]\tJ = [2.98115417]\n",
      "beta = [41.45019489  2.87075643]\tJ = [2.98115416]\n",
      "beta = [41.45020927  2.87075505]\tJ = [2.98115416]\n",
      "beta = [41.45022324  2.87075371]\tJ = [2.98115416]\n",
      "beta = [41.45023681  2.87075241]\tJ = [2.98115416]\n",
      "beta = [41.45024998  2.87075115]\tJ = [2.98115416]\n",
      "beta = [41.45026278  2.87074992]\tJ = [2.98115415]\n",
      "beta = [41.45027521  2.87074872]\tJ = [2.98115415]\n",
      "beta = [41.45028728  2.87074757]\tJ = [2.98115415]\n",
      "beta = [41.450299    2.87074644]\tJ = [2.98115415]\n",
      "beta = [41.45031038  2.87074535]\tJ = [2.98115415]\n",
      "beta = [41.45032144  2.87074429]\tJ = [2.98115415]\n",
      "beta = [41.45033217  2.87074326]\tJ = [2.98115415]\n",
      "beta = [41.4503426   2.87074226]\tJ = [2.98115415]\n",
      "beta = [41.45035273  2.87074129]\tJ = [2.98115414]\n",
      "beta = [41.45036256  2.87074034]\tJ = [2.98115414]\n",
      "beta = [41.45037211  2.87073943]\tJ = [2.98115414]\n",
      "beta = [41.45038139  2.87073854]\tJ = [2.98115414]\n",
      "beta = [41.4503904   2.87073767]\tJ = [2.98115414]\n",
      "beta = [41.45039915  2.87073683]\tJ = [2.98115414]\n",
      "beta = [41.45040764  2.87073602]\tJ = [2.98115414]\n",
      "beta = [41.45041589  2.87073523]\tJ = [2.98115414]\n",
      "beta = [41.45042391  2.87073446]\tJ = [2.98115414]\n",
      "beta = [41.45043169  2.87073371]\tJ = [2.98115414]\n",
      "beta = [41.45043925  2.87073298]\tJ = [2.98115414]\n",
      "beta = [41.45044659  2.87073228]\tJ = [2.98115414]\n",
      "beta = [41.45045372  2.8707316 ]\tJ = [2.98115414]\n",
      "beta = [41.45046064  2.87073093]\tJ = [2.98115414]\n",
      "beta = [41.45046737  2.87073029]\tJ = [2.98115413]\n",
      "beta = [41.4504739   2.87072966]\tJ = [2.98115413]\n",
      "beta = [41.45048024  2.87072905]\tJ = [2.98115413]\n",
      "beta = [41.4504864   2.87072846]\tJ = [2.98115413]\n",
      "beta = [41.45049238  2.87072789]\tJ = [2.98115413]\n",
      "beta = [41.45049819  2.87072733]\tJ = [2.98115413]\n",
      "beta = [41.45050383  2.87072679]\tJ = [2.98115413]\n",
      "beta = [41.45050931  2.87072626]\tJ = [2.98115413]\n",
      "beta = [41.45051464  2.87072575]\tJ = [2.98115413]\n",
      "beta = [41.4505198   2.87072525]\tJ = [2.98115413]\n",
      "beta = [41.45052482  2.87072477]\tJ = [2.98115413]\n",
      "beta = [41.4505297   2.87072431]\tJ = [2.98115413]\n",
      "beta = [41.45053443  2.87072385]\tJ = [2.98115413]\n",
      "beta = [41.45053903  2.87072341]\tJ = [2.98115413]\n",
      "beta = [41.45054349  2.87072298]\tJ = [2.98115413]\n",
      "beta = [41.45054783  2.87072257]\tJ = [2.98115413]\n",
      "beta = [41.45055204  2.87072216]\tJ = [2.98115413]\n",
      "beta = [41.45055613  2.87072177]\tJ = [2.98115413]\n",
      "beta = [41.4505601   2.87072139]\tJ = [2.98115413]\n",
      "beta = [41.45056396  2.87072102]\tJ = [2.98115413]\n",
      "beta = [41.45056771  2.87072066]\tJ = [2.98115413]\n",
      "beta = [41.45057135  2.87072031]\tJ = [2.98115413]\n",
      "beta = [41.45057488  2.87071997]\tJ = [2.98115413]\n",
      "beta = [41.45057831  2.87071964]\tJ = [2.98115413]\n",
      "beta = [41.45058164  2.87071932]\tJ = [2.98115413]\n",
      "beta = [41.45058488  2.87071901]\tJ = [2.98115413]\n",
      "beta = [41.45058802  2.87071871]\tJ = [2.98115413]\n",
      "beta = [41.45059108  2.87071842]\tJ = [2.98115413]\n",
      "beta = [41.45059404  2.87071813]\tJ = [2.98115413]\n",
      "beta = [41.45059692  2.87071786]\tJ = [2.98115413]\n",
      "beta = [41.45059972  2.87071759]\tJ = [2.98115413]\n",
      "beta = [41.45060243  2.87071733]\tJ = [2.98115413]\n",
      "beta = [41.45060507  2.87071707]\tJ = [2.98115413]\n",
      "beta = [41.45060763  2.87071683]\tJ = [2.98115413]\n",
      "beta = [41.45061012  2.87071659]\tJ = [2.98115413]\n",
      "beta = [41.45061253  2.87071636]\tJ = [2.98115413]\n",
      "beta = [41.45061488  2.87071613]\tJ = [2.98115413]\n",
      "beta = [41.45061716  2.87071591]\tJ = [2.98115413]\n",
      "beta = [41.45061937  2.8707157 ]\tJ = [2.98115413]\n",
      "beta = [41.45062152  2.87071549]\tJ = [2.98115413]\n",
      "beta = [41.45062361  2.87071529]\tJ = [2.98115413]\n",
      "beta = [41.45062564  2.8707151 ]\tJ = [2.98115413]\n",
      "beta = [41.4506276   2.87071491]\tJ = [2.98115413]\n",
      "beta = [41.45062952  2.87071473]\tJ = [2.98115413]\n",
      "beta = [41.45063137  2.87071455]\tJ = [2.98115413]\n",
      "beta = [41.45063318  2.87071438]\tJ = [2.98115413]\n",
      "beta = [41.45063493  2.87071421]\tJ = [2.98115413]\n",
      "beta = [41.45063663  2.87071405]\tJ = [2.98115413]\n",
      "beta = [41.45063828  2.87071389]\tJ = [2.98115413]\n",
      "beta = [41.45063988  2.87071373]\tJ = [2.98115413]\n",
      "beta = [41.45064144  2.87071358]\tJ = [2.98115413]\n",
      "beta = [41.45064296  2.87071344]\tJ = [2.98115413]\n",
      "beta = [41.45064443  2.8707133 ]\tJ = [2.98115413]\n",
      "beta = [41.45064585  2.87071316]\tJ = [2.98115413]\n",
      "beta = [41.45064724  2.87071303]\tJ = [2.98115413]\n",
      "beta = [41.45064858  2.8707129 ]\tJ = [2.98115413]\n",
      "beta = [41.45064989  2.87071277]\tJ = [2.98115413]\n",
      "beta = [41.45065116  2.87071265]\tJ = [2.98115413]\n",
      "beta = [41.45065239  2.87071253]\tJ = [2.98115413]\n",
      "beta = [41.45065359  2.87071242]\tJ = [2.98115413]\n",
      "beta = [41.45065475  2.87071231]\tJ = [2.98115413]\n",
      "beta = [41.45065588  2.8707122 ]\tJ = [2.98115413]\n",
      "beta = [41.45065698  2.87071209]\tJ = [2.98115413]\n",
      "beta = [41.45065805  2.87071199]\tJ = [2.98115413]\n",
      "beta = [41.45065908  2.87071189]\tJ = [2.98115413]\n",
      "beta = [41.45066009  2.87071179]\tJ = [2.98115413]\n",
      "beta = [41.45066106  2.8707117 ]\tJ = [2.98115413]\n",
      "beta = [41.45066201  2.87071161]\tJ = [2.98115413]\n",
      "beta = [41.45066293  2.87071152]\tJ = [2.98115413]\n",
      "beta = [41.45066382  2.87071144]\tJ = [2.98115413]\n",
      "beta = [41.45066469  2.87071135]\tJ = [2.98115413]\n",
      "beta = [41.45066553  2.87071127]\tJ = [2.98115413]\n",
      "beta = [41.45066635  2.87071119]\tJ = [2.98115413]\n",
      "beta = [41.45066715  2.87071112]\tJ = [2.98115413]\n",
      "beta = [41.45066792  2.87071104]\tJ = [2.98115413]\n",
      "beta = [41.45066867  2.87071097]\tJ = [2.98115413]\n",
      "beta = [41.4506694  2.8707109]\tJ = [2.98115413]\n",
      "beta = [41.4506701   2.87071083]\tJ = [2.98115413]\n",
      "beta = [41.45067079  2.87071077]\tJ = [2.98115413]\n",
      "beta = [41.45067146  2.8707107 ]\tJ = [2.98115413]\n",
      "beta = [41.45067211  2.87071064]\tJ = [2.98115413]\n",
      "beta = [41.45067274  2.87071058]\tJ = [2.98115413]\n",
      "beta = [41.45067335  2.87071052]\tJ = [2.98115413]\n",
      "beta = [41.45067394  2.87071047]\tJ = [2.98115413]\n",
      "beta = [41.45067452  2.87071041]\tJ = [2.98115413]\n",
      "beta = [41.45067508  2.87071036]\tJ = [2.98115413]\n",
      "beta = [41.45067562  2.8707103 ]\tJ = [2.98115413]\n",
      "beta = [41.45067615  2.87071025]\tJ = [2.98115413]\n",
      "beta = [41.45067666  2.8707102 ]\tJ = [2.98115413]\n",
      "beta = [41.45067716  2.87071016]\tJ = [2.98115413]\n",
      "beta = [41.45067764  2.87071011]\tJ = [2.98115413]\n",
      "beta = [41.45067811  2.87071006]\tJ = [2.98115413]\n",
      "beta = [41.45067857  2.87071002]\tJ = [2.98115413]\n",
      "beta = [41.45067901  2.87070998]\tJ = [2.98115413]\n",
      "beta = [41.45067944  2.87070994]\tJ = [2.98115413]\n",
      "beta = [41.45067986  2.8707099 ]\tJ = [2.98115413]\n",
      "beta = [41.45068027  2.87070986]\tJ = [2.98115413]\n",
      "beta = [41.45068066  2.87070982]\tJ = [2.98115413]\n",
      "beta = [41.45068104  2.87070978]\tJ = [2.98115413]\n",
      "beta = [41.45068141  2.87070975]\tJ = [2.98115413]\n",
      "beta = [41.45068177  2.87070971]\tJ = [2.98115413]\n",
      "beta = [41.45068213  2.87070968]\tJ = [2.98115413]\n",
      "beta = [41.45068247  2.87070965]\tJ = [2.98115413]\n",
      "beta = [41.4506828   2.87070962]\tJ = [2.98115413]\n",
      "beta = [41.45068312  2.87070958]\tJ = [2.98115413]\n",
      "beta = [41.45068343  2.87070955]\tJ = [2.98115413]\n",
      "beta = [41.45068373  2.87070953]\tJ = [2.98115413]\n",
      "beta = [41.45068403  2.8707095 ]\tJ = [2.98115413]\n",
      "beta = [41.45068431  2.87070947]\tJ = [2.98115413]\n",
      "beta = [41.45068459  2.87070944]\tJ = [2.98115413]\n",
      "beta = [41.45068486  2.87070942]\tJ = [2.98115413]\n",
      "beta = [41.45068512  2.87070939]\tJ = [2.98115413]\n",
      "beta = [41.45068537  2.87070937]\tJ = [2.98115413]\n",
      "beta = [41.45068562  2.87070934]\tJ = [2.98115413]\n",
      "beta = [41.45068586  2.87070932]\tJ = [2.98115413]\n",
      "beta = [41.45068609  2.8707093 ]\tJ = [2.98115413]\n",
      "beta = [41.45068632  2.87070928]\tJ = [2.98115413]\n",
      "beta = [41.45068654  2.87070926]\tJ = [2.98115413]\n",
      "beta = [41.45068675  2.87070924]\tJ = [2.98115413]\n",
      "beta = [41.45068696  2.87070922]\tJ = [2.98115413]\n",
      "beta = [41.45068716  2.8707092 ]\tJ = [2.98115413]\n",
      "beta = [41.45068736  2.87070918]\tJ = [2.98115413]\n",
      "beta = [41.45068755  2.87070916]\tJ = [2.98115413]\n",
      "beta = [41.45068773  2.87070914]\tJ = [2.98115413]\n",
      "beta = [41.45068791  2.87070912]\tJ = [2.98115413]\n",
      "beta = [41.45068808  2.87070911]\tJ = [2.98115413]\n",
      "beta = [41.45068825  2.87070909]\tJ = [2.98115413]\n",
      "beta = [41.45068842  2.87070908]\tJ = [2.98115413]\n",
      "beta = [41.45068857  2.87070906]\tJ = [2.98115413]\n",
      "beta = [41.45068873  2.87070905]\tJ = [2.98115413]\n",
      "beta = [41.45068888  2.87070903]\tJ = [2.98115413]\n",
      "beta = [41.45068903  2.87070902]\tJ = [2.98115413]\n",
      "beta = [41.45068917  2.870709  ]\tJ = [2.98115413]\n",
      "beta = [41.4506893   2.87070899]\tJ = [2.98115413]\n",
      "beta = [41.45068944  2.87070898]\tJ = [2.98115413]\n",
      "beta = [41.45068957  2.87070897]\tJ = [2.98115413]\n",
      "beta = [41.45068969  2.87070895]\tJ = [2.98115413]\n",
      "beta = [41.45068982  2.87070894]\tJ = [2.98115413]\n",
      "beta = [41.45068993  2.87070893]\tJ = [2.98115413]\n",
      "beta = [41.45069005  2.87070892]\tJ = [2.98115413]\n",
      "beta = [41.45069016  2.87070891]\tJ = [2.98115413]\n",
      "beta = [41.45069027  2.8707089 ]\tJ = [2.98115413]\n",
      "beta = [41.45069038  2.87070889]\tJ = [2.98115413]\n",
      "beta = [41.45069048  2.87070888]\tJ = [2.98115413]\n",
      "beta = [41.45069058  2.87070887]\tJ = [2.98115413]\n",
      "beta = [41.45069068  2.87070886]\tJ = [2.98115413]\n",
      "beta = [41.45069077  2.87070885]\tJ = [2.98115413]\n",
      "beta = [41.45069086  2.87070884]\tJ = [2.98115413]\n",
      "beta = [41.45069095  2.87070883]\tJ = [2.98115413]\n",
      "beta = [41.45069104  2.87070882]\tJ = [2.98115413]\n",
      "beta = [41.45069112  2.87070882]\tJ = [2.98115413]\n",
      "beta = [41.4506912   2.87070881]\tJ = [2.98115413]\n",
      "beta = [41.45069128  2.8707088 ]\tJ = [2.98115413]\n",
      "beta = [41.45069136  2.87070879]\tJ = [2.98115413]\n",
      "beta = [41.45069143  2.87070879]\tJ = [2.98115413]\n",
      "beta = [41.4506915   2.87070878]\tJ = [2.98115413]\n",
      "beta = [41.45069157  2.87070877]\tJ = [2.98115413]\n",
      "beta = [41.45069164  2.87070877]\tJ = [2.98115413]\n",
      "beta = [41.45069171  2.87070876]\tJ = [2.98115413]\n",
      "beta = [41.45069177  2.87070875]\tJ = [2.98115413]\n",
      "beta = [41.45069183  2.87070875]\tJ = [2.98115413]\n",
      "beta = [41.45069189  2.87070874]\tJ = [2.98115413]\n",
      "beta = [41.45069195  2.87070874]\tJ = [2.98115413]\n",
      "beta = [41.45069201  2.87070873]\tJ = [2.98115413]\n",
      "beta = [41.45069207  2.87070873]\tJ = [2.98115413]\n",
      "beta = [41.45069212  2.87070872]\tJ = [2.98115413]\n",
      "beta = [41.45069217  2.87070872]\tJ = [2.98115413]\n",
      "beta = [41.45069222  2.87070871]\tJ = [2.98115413]\n",
      "beta = [41.45069227  2.87070871]\tJ = [2.98115413]\n",
      "beta = [41.45069232  2.8707087 ]\tJ = [2.98115413]\n",
      "beta = [41.45069237  2.8707087 ]\tJ = [2.98115413]\n",
      "beta = [41.45069241  2.87070869]\tJ = [2.98115413]\n",
      "beta = [41.45069246  2.87070869]\tJ = [2.98115413]\n",
      "beta = [41.4506925   2.87070868]\tJ = [2.98115413]\n",
      "beta = [41.45069254  2.87070868]\tJ = [2.98115413]\n",
      "beta = [41.45069258  2.87070868]\tJ = [2.98115413]\n",
      "beta = [41.45069262  2.87070867]\tJ = [2.98115413]\n",
      "beta = [41.45069266  2.87070867]\tJ = [2.98115413]\n",
      "beta = [41.45069269  2.87070867]\tJ = [2.98115413]\n",
      "beta = [41.45069273  2.87070866]\tJ = [2.98115413]\n",
      "beta = [41.45069277  2.87070866]\tJ = [2.98115413]\n",
      "beta = [41.4506928   2.87070866]\tJ = [2.98115413]\n",
      "beta = [41.45069283  2.87070865]\tJ = [2.98115413]\n",
      "beta = [41.45069286  2.87070865]\tJ = [2.98115413]\n",
      "beta = [41.45069289  2.87070865]\tJ = [2.98115413]\n",
      "beta = [41.45069292  2.87070864]\tJ = [2.98115413]\n",
      "beta = [41.45069295  2.87070864]\tJ = [2.98115413]\n",
      "beta = [41.45069298  2.87070864]\tJ = [2.98115413]\n",
      "beta = [41.45069301  2.87070864]\tJ = [2.98115413]\n",
      "beta = [41.45069304  2.87070863]\tJ = [2.98115413]\n",
      "beta = [41.45069306  2.87070863]\tJ = [2.98115413]\n",
      "beta = [41.45069309  2.87070863]\tJ = [2.98115413]\n",
      "beta = [41.45069311  2.87070863]\tJ = [2.98115413]\n",
      "beta = [41.45069314  2.87070862]\tJ = [2.98115413]\n",
      "beta = [41.45069316  2.87070862]\tJ = [2.98115413]\n",
      "beta = [41.45069318  2.87070862]\tJ = [2.98115413]\n",
      "beta = [41.4506932   2.87070862]\tJ = [2.98115413]\n",
      "beta = [41.45069322  2.87070861]\tJ = [2.98115413]\n",
      "beta = [41.45069324  2.87070861]\tJ = [2.98115413]\n",
      "beta = [41.45069326  2.87070861]\tJ = [2.98115413]\n",
      "beta = [41.45069328  2.87070861]\tJ = [2.98115413]\n",
      "beta = [41.4506933   2.87070861]\tJ = [2.98115413]\n",
      "beta = [41.45069332  2.87070861]\tJ = [2.98115413]\n",
      "beta = [41.45069334  2.8707086 ]\tJ = [2.98115413]\n",
      "beta = [41.45069336  2.8707086 ]\tJ = [2.98115413]\n",
      "beta = [41.45069337  2.8707086 ]\tJ = [2.98115413]\n",
      "beta = [41.45069339  2.8707086 ]\tJ = [2.98115413]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "beta = [41.45069341  2.8707086 ]\tJ = [2.98115413]\n",
      "beta = [41.45069342  2.8707086 ]\tJ = [2.98115413]\n",
      "beta = [41.45069344  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069345  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069346  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069348  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069349  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.4506935   2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069352  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069353  2.87070859]\tJ = [2.98115413]\n",
      "beta = [41.45069354  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069355  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069356  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069357  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069358  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069359  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.4506936   2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069361  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069362  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069363  2.87070858]\tJ = [2.98115413]\n",
      "beta = [41.45069364  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069365  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069366  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069367  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069367  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069368  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069369  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.4506937   2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.4506937   2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069371  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069372  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069372  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069373  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069373  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069374  2.87070857]\tJ = [2.98115413]\n",
      "beta = [41.45069375  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069375  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069376  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069376  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069377  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069377  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069378  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069378  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069379  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069379  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069379  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.4506938   2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.4506938   2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069381  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069381  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069381  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069382  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069382  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069382  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069383  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069383  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069383  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069384  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069384  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069384  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069385  2.87070856]\tJ = [2.98115413]\n",
      "beta = [41.45069385  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069385  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069385  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069386  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069386  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069386  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069386  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069386  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069387  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069387  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069387  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069387  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069387  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069388  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069388  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069388  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069388  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069388  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069388  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069389  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.4506939   2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069391  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069392  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069393  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n",
      "beta = [41.45069394  2.87070855]\tJ = [2.98115413]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 循环迭代\n",
    "while (np.abs(grad := gradient(beta)) > 1e-10).any() and (iterations := iterations - 1) >= 0:\n",
    "    # 4. 计算梯度（略）\n",
    "    # grad = gradient(beta)\n",
    "\n",
    "    # 5. 更新参数\n",
    "    beta = beta - alpha * grad\n",
    "    beta0.append(beta[0, 0])\n",
    "    beta1.append(beta[1, 0])\n",
    "\n",
    "    # 每迭代 10 轮打印一次当前的参数值和损失函数值\n",
    "    if iterations % 10 == 0:\n",
    "        print(f\"beta = {beta.reshape(-1)}\\tJ = {J(beta).reshape(-1)}\")\n",
    "\n",
    "# 画出 β0、β1 变化曲线\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.plot(beta0, beta1)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
